This invention relates generally to data storage systems, and more particularly to automatically generating and modifying façade APIs used in data storage systems.
Data storage systems become increasingly complex as an increasing number of users access and contribute to the data storage system. A contributing user or group of contributing users has access associated with specific privileges to data stores within the data storage system, which allows contributing users to interact with the data storage system by adding or modifying data to the data stores. These contributing users may be associated with a particular entity, such as a business, that operates as a data tenant from the perspective of the data storage system. That is, the data tenant is a “tenant” of the storage system and may store, modify, and access data in the data storage system. Each data tenant is further associated with data tenant characteristics stored as metadata, including tenant identifier, a tenant type, a tenant role, and others. Users of the data storage system may submit queries to the system to retrieve information associated with data stores or specific data tenants.
Contributing users may modify the operating structure of data tenants. For example, when configuring access and data storage by the data storage system, a user might create a new data tenant identifier. The data tenant identifier is typically an identifier of a database or data store for a particular set of data stored by a data tenant and is typically unique to the data tenant or to the data storage system at a whole. In many cases, this user may be unaware of an existing identifier for the data tenant (e.g., for another business group of the user's company) and fail to associate the newly-created identifier with the existing data tenant of the user's company. In another example, an existing data tenant associated with a single tenant identifier might be inadvertently split into two data tenants. This can cause an entity's data to become fragmented across multiple data tenant identifiers and lose an association between the data tenants. Maintaining the availability and service quality of data to users as the data tenant operating structure changes or updates typically relies upon manual updates. Delays in updating modified data tenant information can result in information leakage and loss of service from the associated data stores. In particular, queries for information from data tenants associated with multiple data stores or with different permissions to data stores may result in incomplete results as modifications to the data tenant operating structures are updated and may permit users associated with one data tenant (or data tenant identifier) to improperly access data associated with another.